package com.vogue.supplymall.payment.tools;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;


public class MD5Util {

	/**
     * 获取MD5加密
     * @param src       需要摘要的源字符串
     * @return String字符串 加密后的字符串
     */
    public static String getMD5(String src) {
        try {
            // 创建消息摘要实例对象
            MessageDigest digest = MessageDigest.getInstance("md5");

            // 调用摘要算法，生成摘要结果，存放在byte数组里面
            byte[] bs = digest.digest(src.getBytes("utf-8"));
            
            // byte存放的值范围为-128-127，先转换为正数128-255、0-127：
            String hexString = "";
            for (byte b : bs) {
                int temp = b & 0xff;
                if (temp < 16 && temp >= 0) {
                    // 手动补上一个“0”
                    hexString = hexString + "0" + Integer.toHexString(temp);
                } else {
                    hexString = hexString + Integer.toHexString(temp);
                }
            }
            return hexString;
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return "";
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        String md5str = MD5Util.getMD5("123");
        System.out.println(md5str);
    }
    
}
